eve-service API

eve-service supports 12 commands: Services: pos eve edp status route sensor msg cfg asset mod map sys tftp eng tag rec aprec test index

/epe/eve/eventstream    POST version Input: Output:
Description: Receive events from the RTLS Controller in real time. The connection stays active forever. One or more rules specify which events are given to the stream.

There are different messages for different kinds of events. Event types include SCAN (produced e.g. by a tag button press) and COMMANDSSENT (produced when a device fetches commands).

Server queues up events and may drop any new events if the client does not read the stream fast enough.

Technically this call uses HTTP 1.1 chunked transfer, which provides a way to send multiple chunks of data without closing the connection. See the HTTP specification for the format of the chunks. (The Java SDK automatically takes care of chunking.)

A QUERYALIVE message is sent in 10 second interval to check connection aliveness. Ignore this message.

Example 1: Receive events using all rules in the system
/epe/eve/eventstream

Example 2: Receive events generated by rule 123
/epe/eve/eventstream?ruleid=123

Example 3: Receive events generated by rules 123 and 456
/epe/eve/eventstream?ruleid=123,456

Example 4: Receive all system events
/epe/eve/eventstream?class=system

Example 5: Receive all system events plus all events generated by rules labeled with "myrules"
/epe/eve/eventstream?class=system&label=myrules

Role Required: viewer
Call Counter: Total: 4, Failed: 2

ruleid (required) - [Array] ids of the rules used to filter events
class (optional) - [String] use all rules in a specific class ("system" or "user")
label (optional) - [String] use all rules labeled with a specific rule label
format (optional) - [String] format of output, compact or xml; default is xml
SCAN.ruleid - [long] id of the rule that triggered the event
SCAN.tagid - [long] id of a device
SCAN.assetid - [long] asset identifier
SCAN.mac - [String] MAC address of a device
SCAN.name - [String] device name
SCAN.posx - [int] X coordinate
SCAN.posy - [int] Y coordinate
SCAN.posmodelid - [long] id of the model where the tag is
SCAN.posmapname - [String] name of the map where the tag is
SCAN.poszonename - [String] name of the zone where the tag is
SCAN.posmapid - [int] id of the map where the tag is
SCAN.poszoneid - [int] id of the zone where the tag is, -1 if not inside any zone
SCAN.posquality - [int] position quality, range 0-100
SCAN.posreason - [int] tag scan reason, one of the following: 1=Button, 2=Motion, 3=Periodic, 4=Calibrate, 5=After motion, 6=Button2, 7=Tamper alarm, 8=Button3, 9=Charger status, 10=Safety switch status, 11=Low battery, 12=Motion stagnant, 13=Menu selection, 14=Supplementary, 15=Location beacon, 16=Priority message ack, 17=Battery level changed, 20=Network
SCAN.postime - [long] position time stamp as milliseconds elapsed since midnight UTC of January 1, 1970
SCAN.postimestamp - [String] position time stamp in server local time in ISO 8601 (yyyy-MM-dd HH:mm:ss) format
SCAN.posfilter - [String] position quality test result, one of the following: PASS=position passes quality test, FAIL=position fails quality test
SCAN.type - [String] device type
SCAN.messageid - [int] identifier of the responded message (T301B tags)
SCAN.menuitem - [int] menu item or response selection (T301B tags)
SCAN.batterylevel - [int] device battery level, range 0-100, or null if N/A
SCAN.charging - [String] indicates if device is being charged, one of the following: TRUE=device is charging, FALSE=device is not charging
SCAN.safetyswitch - [String] indicates safety switch status, one of the following: ALARM=safety switch is triggered
SCAN.eventtime - [long] event processing time stamp as milliseconds elapsed since midnight UTC of January 1, 1970
MAPENTERED.* - [] contains the same fields as a SCAN event, plus the ones listed below
MAPENTERED.oldmapid - [int] id of the map from which the device came
MAPENTERED.oldmapname - [String] name of the map from which the device came
MAPEXITED.* - [] contains the same fields as a SCAN event, plus the ones listed below
MAPEXITED.oldmapid - [int] id of the map that the device exited
MAPEXITED.oldmapname - [String] name of the map that the device exited
ZONEENTERED.ruleid - [long] id of the rule that triggered the event
ZONEENTERED.tagid - [long] id of a device
ZONEENTERED.assetid - [long] asset identifier
ZONEENTERED.mac - [String] MAC address of a device
ZONEENTERED.name - [String] device name
ZONEENTERED.type - [String] device type
ZONEENTERED.posx - [int] X coordinate
ZONEENTERED.posy - [int] Y coordinate
ZONEENTERED.posmodelid - [long] id of the model where the tag is
ZONEENTERED.posmapname - [String] name of the map where the tag is
ZONEENTERED.poszonename - [String] name of the zone which the tag entered
ZONEENTERED.posmapid - [int] id of the map where the tag is
ZONEENTERED.poszoneid - [int] id of the zone which the tag entered, -1 if outside all zones
ZONEENTERED.posquality - [int] position quality, range 0-100
ZONEENTERED.postime - [long] zone enter time stamp as milliseconds elapsed since midnight UTC of January 1, 1970
ZONEENTERED.postimestamp - [String] zone enter time stamp in server local time in ISO 8601 (yyyy-MM-dd HH:mm:ss) format
ZONEENTERED.eventquality - [int] quality of the zone estimate, range 0-100
ZONEENTERED.eventtime - [long] event processing time stamp as milliseconds elapsed since midnight UTC of January 1, 1970
ZONEEXITED.ruleid - [long] id of the rule that triggered the event
ZONEEXITED.tagid - [long] id of a device
ZONEEXITED.assetid - [long] asset identifier
ZONEEXITED.mac - [String] MAC address of a device
ZONEEXITED.name - [String] device name
ZONEEXITED.posx - [int] X coordinate
ZONEEXITED.posy - [int] Y coordinate
ZONEEXITED.posmodelid - [long] id of the model where the tag is
ZONEEXITED.posmapname - [String] name of the map where the tag is
ZONEEXITED.oldmapname - [String] name of the map where the tag was
ZONEEXITED.oldzonename - [String] name of the zone which the tag exited
ZONEEXITED.posmapid - [int] id of the map where the tag is
ZONEEXITED.oldmapid - [int] id of the map where the tag was
ZONEEXITED.oldzoneid - [int] id of the zone which the tag exited, -1 if it was outside all zones
ZONEEXITED.posquality - [int] position quality, range 0-100
ZONEEXITED.postime - [long] zone exit time stamp as milliseconds elapsed since midnight UTC of January 1, 1970
ZONEEXITED.postimestamp - [String] zone exit time stamp in server local time in ISO 8601 (yyyy-MM-dd HH:mm:ss) format
ZONEEXITED.type - [String] device type
ZONEEXITED.eventquality - [int] quality of the zone estimate, range 0-100
ZONEEXITED.eventtime - [long] event processing time stamp as milliseconds elapsed since midnight UTC of January 1, 1970
DEVICEDELETED.ruleid - [long] id of the rule that triggered the event
DEVICEDELETED.tagid - [long] id of the deleted device
DEVICEDELETED.assetid - [long] asset identifier
DEVICEDELETED.mac - [String] device MAC address
DEVICEDELETED.name - [String] device name
DEVICEDELETED.type - [String] device type
DEVICEDELETED.eventtime - [long] event processing time stamp as milliseconds elapsed since midnight UTC of January 1, 1970
COMMANDSSENT.* - [] contains the same fields as a DEVICEDELETED event, plus the ones listed below
COMMANDSSENT.success - [String] "TRUE" if commands were accepted by the tag, "FALSE" if rejected
DEVICEINFOCHANGED.* - [] contains the same fields as a DEVICEDELETED event, plus the ones listed below
DEVICEINFOCHANGED.serialnumber - [String] serial number of the device
DEVICEINFOCHANGED.swversion - [String] software version of the device
DEVICEINFOCHANGED.hwversion - [String] hardware version of the device
DEVICEINFOCHANGED.wlanfirmware - [String] WLAN firmware of the device
ACTIVEMODELCHANGED.ruleid - [long] id of the rule that triggered the event
ACTIVEMODELCHANGED.eventtime - [long] event processing time stamp as milliseconds elapsed since midnight UTC of January 1, 1970
ACTIVEMODELCHANGED.activemodelid - [long] id of the new active model, or omitted if a model is deactivated and there is no replacing active model
TAGGROUPCHANGED.ruleid - [long] id of the rule that triggered the event
TAGGROUPCHANGED.eventtime - [long] event processing time stamp as milliseconds elapsed since midnight UTC of January 1, 1970
TAGGROUPCHANGED.taggroupid - [long] id of the new/deleted/modified group
TAGGROUPCHANGED.action - [String] what happened with the group, "create", "edit", "delete", "addtags", "removetags" or "setgroups"
ASSETGROUPCHANGED.ruleid - [long] id of the rule that triggered the event
ASSETGROUPCHANGED.eventtime - [long] event processing time stamp as milliseconds elapsed since midnight UTC of January 1, 1970
ASSETGROUPCHANGED.assetgroupid - [long] id of the new/deleted/modified group
ASSETGROUPCHANGED.action - [String] what happened with the group, "create", "edit", "delete", "add", "remove" or "setgroups"
BATTERYLOW.ruleid - [long] id of the rule that triggered the event
BATTERYLOW.tagid - [long] device id
BATTERYLOW.assetid - [long] asset identifier
BATTERYLOW.mac - [String] device MAC address
BATTERYLOW.name - [String] device name
BATTERYLOW.type - [String] device type
BATTERYLOW.eventtime - [long] event processing time stamp as milliseconds elapsed since midnight UTC of January 1, 1970
BATTERYLOW.batterylevel - [int] the current battery level of the device
BATTERYHIGH.* - [] contains the same fields as a BATTERYLOW event
SITEENTERED.ruleid - [long] id of the rule that triggered the event
SITEENTERED.tagid - [long] id of a device
SITEENTERED.assetid - [long] asset identifier
SITEENTERED.mac - [String] MAC address of a device
SITEENTERED.name - [String] device name
SITEENTERED.type - [String] device type
SITEENTERED.presmodelid - [long] id of the model where the tag is
SITEENTERED.pressiteid - [int] id of the site where the tag is
SITEENTERED.pressitename - [String] name of the site where the tag is
SITEENTERED.apmac - [String] MAC address of the access point
SITEENTERED.tagip - [String] IP address of the device
SITEENTERED.eventtime - [long] event processing time stamp as milliseconds elapsed since midnight UTC of January 1, 1970
SITEEXITED.* - [] contains the same fields as a SITEENTERED event with the semantic difference that pressiteid and pressitename refer to the site which was exited
TEMPERATURE.ruleid - [long] id of the rule that triggered the event
TEMPERATURE.tagid - [long] device id
TEMPERATURE.assetid - [long] asset identifier
TEMPERATURE.mac - [String] device MAC address
TEMPERATURE.name - [String] device name
TEMPERATURE.type - [String] device type
TEMPERATURE.posreason - [int] reason for doing the temperature measurement, one of the following: 1=Button, 2=Motion, 3=Periodic, 4=Calibrate, 5=After motion, 6=Button2, 7=Tamper alarm, 8=Button3, 9=Charger status, 10=Safety switch status, 11=Low battery, 12=Motion stagnant, 13=Menu selection, 14=Supplementary, 15=Location beacon, 16=Priority message ack, 17=Battery level changed, 20=Network
TEMPERATURE.postime - [long] measurement time stamp as milliseconds elapsed since midnight UTC of January 1, 1970
TEMPERATURE.postimestamp - [String] measurement time stamp in server local time in ISO 8601 (yyyy-MM-dd HH:mm:ss) format
TEMPERATURE.temperature - [float] measured temperature in degrees C
TEMPERATURE.temperature2 - [float] measured temperature by second sensor in degrees C
TEMPERATURE.alarm - [int] sensor alarm indicator, device type specific value
TEMPERATURE.batterylevel - [int] device battery level, range 0-100, or null if N/A
TEMPERATURE.eventtime - [long] event processing time stamp as milliseconds elapsed since midnight UTC of January 1, 1970
SAFETYSWITCH.* - [] contains the same fields as a SCAN event
BEACON.ruleid - [long] id of the rule that triggered the event
BEACON.eventtime - [long] event processing time stamp as milliseconds elapsed since midnight UTC of January 1, 1970
BEACON.beaconidentifier - [String] Location beacon identifier in NNNNNN format, e.g. 01F0EA
BEACON.mac - [String] MAC address of the device that detected the location beacon
BEACON.tagid - [long] id of the device that detected the location beacon
BEACON.name - [String] name of the device that detected the location beacon
BEACON.assetid - [long] id of the asset that detected the location beacon
/epe/eve/historylist    POST version Input: Output:
Description: Lists event history. Output format is the same (with some additional fields) as with the eventstream command.

Example 1: List events generated by rules 123 and 356
/epe/eve/historylist?ruleid=123,356

Example 2: List 10 most recent events
/epe/eve/historylist?numlatest=10

Example 3: List 3 most recent events generated by rule 123
/epe/eve/historylist?numlatest=3&ruleid=123

Example 4: List events since 2008-01-10 23:20:00+0200
/epe/eve/historylist?since=1200000000000

Example 5: List events since 2008-01-10 23:20:00 local time
/epe/eve/historylist?since=2008-01-10 23:20:00

Example 6: List events until 2008-01-10 23:20:00+0200
/epe/eve/historylist?until=1200000000000

Example 7: List events within the last day
/epe/eve/historylist?within=1d

Example 8: List events generated by rules labeled with "myrules" and related to tags 45 and 67
/epe/eve/historylist?label=myrules&tagid=45,67

Role Required: viewer
Call Counter: Total: 3, Failed: 0

ruleid (optional) - [Array] ids of the rules to include
class (optional) - [String] list events in a specific class ("system" or "user")
label (optional) - [String] list events of rules with a specific rule label
tagid (optional) - [Array] list events related to specific devices, specified by device ids
mac (optional) - [Array] list events related to specific devices, specified by MAC addresses
tagname (optional) - [Array] list events related to specific devices, specified by device names
assetid (optional) - [Array] list events related to specific assets, specified by asset ids
since (optional) - [String] list events since the specified time. there are two alternative formats; the point of time can be given as milliseconds elapsed since midnight UTC of January 1, 1970. another option is to use the ISO 8601 notation (yyyy-MM-dd hh:mm:ssZ). time zone is optional; if it's omitted, the input is interpreted as server's local time
until (optional) - [String] list events until the specified time. format is the same as with since
within (optional) - [String] list events occured within the given time period, format 1s for one second, 2m for two minutes, 3h for three hours, 4d for four days
sinceid (optional) - [long] lists events since the specified eventid
untilid (optional) - [long] lists events until the specified eventid
eventtime (optional) - [long] event timestamp, use together with ruleid to get a specific event known from eventstream
numlatest (optional) - [int] max number of events to list, newest first
numoldest (optional) - [int] max number of events to list, oldest first
sort (optional) - [String] sorts output into given order. Allowed values are 'ascending' and 'descending'. Can not be used simultaneously with 'numlatest' or 'numoldest'
streaming (optional) - [String] if set to true, returns history as a stream
format (optional) - [String] format of output, compact or xml; default is xml
SCAN.eventid - [long] unique id of an event
SCAN.ruleid - [long] id of the rule that triggered the event
SCAN.tagid - [long] id of a device
SCAN.assetid - [long] asset identifier
SCAN.mac - [String] MAC address of a device
SCAN.name - [String] device name
SCAN.posx - [int] X coordinate
SCAN.posy - [int] Y coordinate
SCAN.posmodelid - [long] id of the model where the tag is
SCAN.posmapname - [String] name of the map where the tag is
SCAN.poszonename - [String] name of the zone where the tag is
SCAN.posmapid - [int] id of the map where the tag is
SCAN.poszoneid - [int] id of the zone where the tag is, -1 if not inside any zone
SCAN.posquality - [int] position quality, range 0-100
SCAN.posreason - [int] tag scan reason, one of the following: 1=Button, 2=Motion, 3=Periodic, 4=Calibrate, 5=After motion, 6=Button2, 7=Tamper alarm, 8=Button3, 9=Charger status, 10=Safety switch status, 11=Low battery, 12=Motion stagnant, 13=Menu selection, 14=Supplementary, 15=Location beacon, 16=Priority message ack, 17=Battery level changed, 20=Network
SCAN.postime - [long] position time stamp as milliseconds elapsed since midnight UTC of January 1, 1970
SCAN.postimestamp - [String] position time stamp in server local time in ISO 8601 (yyyy-MM-dd HH:mm:ss) format
SCAN.posfilter - [String] position quality test result, one of the following: PASS=position passes quality test, FAIL=position fails quality test
SCAN.type - [String] device type
SCAN.messageid - [int] identifier of the responded message (T301B tags)
SCAN.menuitem - [int] menu item or response selection (T301B tags)
SCAN.batterylevel - [int] device battery level, range 0-100, or null if N/A
SCAN.charging - [String] indicates if device is being charged, one of the following: TRUE=device is charging, FALSE=device is not charging
SCAN.safetyswitch - [String] indicates safety switch status, one of the following: ALARM=safety switch is triggered
SCAN.eventtime - [long] event processing time stamp as milliseconds elapsed since midnight UTC of January 1, 1970
MAPENTERED.* - [] contains all the same fields as a SCAN event, plus the ones listed below
MAPENTERED.oldmapid - [int] id of the map from which the device came
MAPENTERED.oldmapname - [String] name of the map from which the device came
MAPEXITED.* - [] contains all the same fields as a SCAN event, plus the ones listed below
MAPEXITED.oldmapid - [int] id of the map that the device exited
MAPEXITED.oldmapname - [String] name of the map that the device exited
ZONEENTERED.eventid - [long] unique id of an event
ZONEENTERED.ruleid - [long] id of the rule that triggered the event
ZONEENTERED.tagid - [long] id of a device
ZONEENTERED.assetid - [long] asset identifier
ZONEENTERED.mac - [String] MAC address of a device
ZONEENTERED.name - [String] device name
ZONEENTERED.type - [String] device type
ZONEENTERED.posx - [int] X coordinate
ZONEENTERED.posy - [int] Y coordinate
ZONEENTERED.posmodelid - [long] id of the model where the tag is
ZONEENTERED.posmapname - [String] name of the map where the tag is
ZONEENTERED.poszonename - [String] name of the zone which the tag entered
ZONEENTERED.posmapid - [int] id of the map where the tag is
ZONEENTERED.poszoneid - [int] id of the zone which the tag entered, -1 if outside all zones
ZONEENTERED.posquality - [int] position quality, range 0-100
ZONEENTERED.postime - [long] zone enter time stamp as milliseconds elapsed since midnight UTC of January 1, 1970
ZONEENTERED.postimestamp - [String] zone enter time stamp in server local time in ISO 8601 (yyyy-MM-dd HH:mm:ss) format
ZONEENTERED.eventquality - [int] quality of the zone estimate, range 0-100
ZONEENTERED.eventtime - [long] event processing time stamp as milliseconds elapsed since midnight UTC of January 1, 1970
ZONEEXITED.eventid - [long] unique id of an event
ZONEEXITED.ruleid - [long] id of the rule that triggered the event
ZONEEXITED.tagid - [long] id of a device
ZONEEXITED.assetid - [long] asset identifier
ZONEEXITED.mac - [String] MAC address of a device
ZONEEXITED.name - [String] device name
ZONEEXITED.posx - [int] X coordinate
ZONEEXITED.posy - [int] Y coordinate
ZONEEXITED.posmodelid - [long] id of the model where the tag is
ZONEEXITED.posmapname - [String] name of the map where the tag is
ZONEEXITED.oldmapname - [String] name of the map where the tag was
ZONEEXITED.oldzonename - [String] name of the zone which the tag exited
ZONEEXITED.posmapid - [int] id of the map where the tag is
ZONEEXITED.oldmapid - [int] id of the map where the tag was
ZONEEXITED.oldzoneid - [int] id of the zone which the tag exited, -1 if it was outside all zones
ZONEEXITED.posquality - [int] position quality, range 0-100
ZONEEXITED.postime - [long] zone exit time stamp as milliseconds elapsed since midnight UTC of January 1, 1970
ZONEEXITED.postimestamp - [String] zone exit time stamp in server local time in ISO 8601 (yyyy-MM-dd HH:mm:ss) format
ZONEEXITED.type - [String] device type
ZONEEXITED.eventquality - [int] quality of the zone estimate, range 0-100
ZONEEXITED.eventtime - [long] event processing time stamp as milliseconds elapsed since midnight UTC of January 1, 1970
DEVICEDELETED.eventid - [long] unique id of an event
DEVICEDELETED.ruleid - [long] id of the rule that triggered the event
DEVICEDELETED.tagid - [long] id of the deleted device
DEVICEDELETED.assetid - [long] asset identifier
DEVICEDELETED.mac - [String] device MAC address
DEVICEDELETED.name - [String] device name
DEVICEDELETED.type - [String] device type
DEVICEDELETED.eventtime - [long] event processing time stamp as milliseconds elapsed since midnight UTC of January 1, 1970
COMMANDSSENT.* - [] contains the same fields as a DEVICEDELETED event
COMMANDSSENT.success - [String] "TRUE" if commands were accepted by the tag, "FALSE" if rejected
DEVICEINFOCHANGED.* - [] contains the same fields as a DEVICEDELETED event, plus the ones listed below
DEVICEINFOCHANGED.serialnumber - [String] serial number of the device
DEVICEINFOCHANGED.swversion - [String] software version of the device
DEVICEINFOCHANGED.hwversion - [String] hardware version of the device
DEVICEINFOCHANGED.wlanfirmware - [String] WLAN firmware of the device
ACTIVEMODELCHANGED.eventid - [long] unique id of an event
ACTIVEMODELCHANGED.ruleid - [long] id of the rule that triggered the event
ACTIVEMODELCHANGED.eventtime - [long] event processing time stamp as milliseconds elapsed since midnight UTC of January 1, 1970
ACTIVEMODELCHANGED.activemodelid - [long] id of the new active model, or omitted if a model is deactivated and there is no replacing active model
TAGGROUPCHANGED.eventid - [long] unique id of an event
TAGGROUPCHANGED.ruleid - [long] id of the rule that triggered the event
TAGGROUPCHANGED.eventtime - [long] event processing time stamp as milliseconds elapsed since midnight UTC of January 1, 1970
TAGGROUPCHANGED.taggroupid - [long] id of the new/modified/deleted group
TAGGROUPCHANGED.action - [String] what happened with the group, "create", "edit", "delete", "addtags", "removetags" or "setgroups"
ASSETGROUPCHANGED.eventid - [long] unique id of an event
ASSETGROUPCHANGED.ruleid - [long] id of the rule that triggered the event
ASSETGROUPCHANGED.eventtime - [long] event processing time stamp as milliseconds elapsed since midnight UTC of January 1, 1970
ASSETGROUPCHANGED.assetgroupid - [long] id of the new/modified/deleted group
ASSETGROUPCHANGED.action - [String] what happened with the group, "create", "edit", "delete", "add", "remove" or "setgroups"
BATTERYLOW.eventid - [long] unique id of an event
BATTERYLOW.ruleid - [long] id of the rule that triggered the event
BATTERYLOW.tagid - [long] device id
BATTERYLOW.assetid - [long] asset identifier
BATTERYLOW.mac - [String] device MAC address
BATTERYLOW.name - [String] device name
BATTERYLOW.type - [String] device type
BATTERYLOW.eventtime - [long] event processing time stamp as milliseconds elapsed since midnight UTC of January 1, 1970
BATTERYLOW.batterylevel - [int] the current battery level of the device
BATTERYHIGH.* - [] contains all the same fields as a BATTERYLOW event
SITEENTERED.eventid - [long] unique id of an event
SITEENTERED.ruleid - [long] id of the rule that triggered the event
SITEENTERED.tagid - [long] id of a device
SITEENTERED.assetid - [long] asset identifier
SITEENTERED.mac - [String] MAC address of a device
SITEENTERED.name - [String] device name
SITEENTERED.type - [String] device type
SITEENTERED.presmodelid - [long] id of the model where the tag is
SITEENTERED.pressiteid - [int] id of the site where the tag is
SITEENTERED.pressitename - [String] name of the site where the tag is
SITEENTERED.apmac - [String] MAC address of the access point
SITEENTERED.tagip - [String] IP address of the device
SITEENTERED.eventtime - [long] event processing time stamp as milliseconds elapsed since midnight UTC of January 1, 1970
SITEEXITED.* - [] contains the same fields as a SITEENTERED event with the semantic difference that pressiteid and pressitename refer to the site which was exited
TEMPERATURE.eventid - [long] unique id of an event
TEMPERATURE.ruleid - [long] id of the rule that triggered the event
TEMPERATURE.tagid - [long] device id
TEMPERATURE.assetid - [long] asset identifier
TEMPERATURE.mac - [String] device MAC address
TEMPERATURE.name - [String] device name
TEMPERATURE.type - [String] device type
TEMPERATURE.posreason - [int] reason for doing the temperature measurement, one of the following: 1=Button, 2=Motion, 3=Periodic, 4=Calibrate, 5=After motion, 6=Button2, 7=Tamper alarm, 8=Button3, 9=Charger status, 10=Safety switch status, 11=Low battery, 12=Motion stagnant, 13=Menu selection, 14=Supplementary, 15=Location beacon, 16=Priority message ack, 17=Battery level changed, 20=Network
TEMPERATURE.postime - [long] measurement time stamp as milliseconds elapsed since midnight UTC of January 1, 1970
TEMPERATURE.postimestamp - [String] measurement time stamp in server local time in ISO 8601 (yyyy-MM-dd HH:mm:ss) format
TEMPERATURE.temperature - [float] measured temperature in degrees C
TEMPERATURE.temperature2 - [float] measured temperature by second sensor in degrees C
TEMPERATURE.alarm - [int] sensor alarm indicator, device type specific value
TEMPERATURE.batterylevel - [int] device battery level, range 0-100, or null if N/A
TEMPERATURE.eventtime - [long] event processing time stamp as milliseconds elapsed since midnight UTC of January 1, 1970
SAFETYSWITCH.* - [] contains the same fields as a SCAN event
BEACON.eventid - [long] unique id of an event
BEACON.ruleid - [] id of the rule that triggered the event
BEACON.eventtime - [long] event processing time stamp as milliseconds elapsed since midnight UTC of January 1, 1970
BEACON.beaconidentifier - [] Location beacon identifier in NNNNNN format, e.g. 01F0EA
BEACON.mac - [] MAC address of the device that detected the location beacon
BEACON.tagid - [long] id of the device that detected the location beacon
BEACON.name - [String] name of the device that detected the location beacon
BEACON.assetid - [long] id of the asset that detected the location beacon
/epe/eve/rulebrowse    POST version Input: Output:
Description: See the details of a specific event stream rule.

Example 1: View rule with id 123
/epe/eve/rulebrowse?ruleid=123

Role Required: viewer
Call Counter: Total: 0, Failed: 0

ruleid (required) - [long] rule id
RULE.ruleid - [long] rule id
RULE.name - [String] rule name
RULE.description - [String] rule description
RULE.createdon - [String] creation time of the rule
RULE.modifiedon - [String] last modification time of the rule
RULE.ruleclass - [String] one of two strings: "SYSTEM" for built-in system rules and "USER" for user-defined rules
RULE.status - [String] "ACTIVE", "DISABLED" or "DELETED"
RULE.label - [String] Label, if the rule has been given one at its creation
PARAM.name - [String] parameter name
PARAM.value - [long] parameter value
TAGID.tagid - [long] tag id
TAGID.mac - [String] tag MAC address
/epe/eve/rulecreate    POST version Input: Output:
Description: Creates a new rule for generating events to an event stream.

Example 1: Create a rule for receiving button events
/epe/eve/rulecreate?name=example1&scanreason=1,6,8

Example 2: Create a rule for receiving motion stagnant events when tag ID is 1 or 2
/epe/eve/rulecreate?name=example2&scanreason=12&tagid=1,2

Example 3: Create a rule for receiving button1 and button2 events when device MAC address is 11:22:33:44:55:66
/epe/eve/rulecreate?name=example3&scanreason=1,6&mac=11:22:33:44:55:66

Example 4: Create a rule for receiving after motion events from devices in group 1
/epe/eve/rulecreate?name=example4&scanreason=5&taggroupid=1

Example 5: Create a rule for receiving button1 events from map 10 in model 20
/epe/eve/rulecreate?name=example5&scanreason=1&mapid=10&modelid=20

Example 6: Create a rule for receiving motion stagnant events from zone 5 or 6 in model 20
/epe/eve/rulecreate?name=example6&scanreason=12&zoneid=5,6&modelid=20

Example 7: Create a rule for receiving an event when a device in group 10 enters zone 5 or 6 in model 20
/epe/eve/rulecreate?name=example7&taggroupid=10&enterzoneid=5,6&modelid=20

Example 8: Create a rule for receiving an event when a device with MAC address 01:02:03:04:05:06 leaves map 2 in model 20
/epe/eve/rulecreate?name=example8&mac=01:02:03:04:05:06&exitmapid=2&modelid=20

Example 9: Create a rule for receiving an event when any device enters map 3 in model 20
/epe/eve/rulecreate?name=example9&entermapid=3&modelid=20

Example 10: Create a rule for receiving an event when any device enters any zone
/epe/eve/rulecreate?name=example10&enterzoneid=any

Example 11: Create a rule for receiving an event when a device's battery level falls below 10%
/epe/eve/rulecreate?name=example11&lowbatterylimit=10

Example 12: Create a rule for receiving an event when any device enters site 4 in model 25
/epe/eve/rulecreate?name=example12&entersiteid=4&modelid=25

Example 13: Create a rule for receiving an event whenever a temperature sensor in group 15 sends a temperature measurement
/epe/eve/rulecreate?name=example13&taggroupid=15&temp

Example 14: Create a rule for receiving an event whenever the temperature measured by a sensor in group 16 raises above +5.5 degrees C
/epe/eve/rulecreate?name=example14&taggroupid=16&hightemplimit=5.5

Example 15: Create a rule for receiving an event whenever safety switch status changes to ALARM in group 17
/epe/eve/rulecreate?name=example15&taggroupid=16&securitystrap

Example 16: Create a rule for receiving an event when a tag sees location beacon with identifier 010F02
/epe/eve/rulecreate?name=example16&beaconidentifier=010F02

Example 17: Create a rule for receiving an event when a tag sees any location beacon
/epe/eve/rulecreate?name=example17&beaconidentifier=any

Role Required: poweruser
Call Counter: Total: 0, Failed: 0

name (required) - [String] a friendly name for the rule
description (optional) - [String] a free-form description for the rule
label (optional) - [String] rules with equal labels can be used as a group when opening an event stream. can be no more than 10 characters long
scanreason (optional) - [Array] an array of integers denoting scanreasons that are passed as events by the rule. valid values are: 1=Button, 2=Motion, 3=Periodic, 4=Calibrate, 5=After motion, 6=Button2, 7=Tamper alarm, 8=Button3, 9=Charger status, 10=Safety switch status, 11=Low battery, 12=Motion stagnant, 13=Menu selection, 14=Supplementary, 15=Location beacon, 16=Priority message ack, 17=Battery level changed, 20=Network
tagid (optional) - [Array] events are generated only for the listed tags
mac (optional) - [Array] similar to tagid, but allows tags to be listed by their MAC addresses
assetid (optional) - [Array] events are generated only for the listed assets
taggroupid (optional) - [Array] events are generated only for the tags in the chosen groups
assetgroupid (optional) - [Array] events are generated only for the assets in the chosen groups
mapid (optional) - [Array] events are generated only for positions on the specified maps
zoneid (optional) - [Array] events are generated only for positions in the specified zones
modelid (optional) - [long] events are generated only if the specified model is active. it is required to always use a model condition with mapid or zoneid as they are valid only with a specific model
entermapid (optional) - [Array] an event is generated when a device enters one of the specified maps. give "any" to receive an event when any map is entered
exitmapid (optional) - [Array] an event is generated when a device leaves one of the specified maps
enterzoneid (optional) - [Array] an event is generated when a device enters one of the specified zones. give "any" to receive an event when any zone is entered
exitzoneid (optional) - [Array] an event is generated when a device leaves one of the specified zones
entersiteid (optional) - [Array] an event is generated when a device enters one of the specified sites. give "any" to receive an event when any site is entered
exitsiteid (optional) - [Array] an event is generated when a device leaves one of the specified sites
lowbatterylimit (optional) - [int] an event is generated when the battery level of a device drops below the given percentage
highbatterylimit (optional) - [int] an event is generated when the battery level of a device raises above the given percentage
temp (optional) - [] an event is generated whenever a temperature sensor sends a new measurement
safetyswitch (optional) - [] an event is generated when safety switch status is changed to ALARM
lowtemplimit (optional) - [float] an event is generated when a temperature measurement of a sensor device drops below the given value (in degrees C)
hightemplimit (optional) - [float] an event is generated when a temperature measurement of a sensor device raises above the given value (in degrees C)
beaconidentifier (optional) - [Array] An event is generated when a tag detects the location beacon with the listed ID(s). To get an event from any location beacon set value to 'any'IR beacon identifier must be given in hex format NNNNNN, for example 010F02.
RULE.ruleid - [long] a unique id allocated for the created rule
/epe/eve/ruledelete    POST version Input: Output:
Description: Deletes the rule with the specified id. The event history generated by the deleted rule is kept. To completely delete a rule including its event history, call rulepurge after ruledelete.

Example 1: Delete rule with id 123
/epe/eve/ruledelete?ruleid=123

Role Required: poweruser
Call Counter: Total: 0, Failed: 0

ruleid (required) - [long] rule id
/epe/eve/ruledisable    POST version Input: Output:
Description: Temporarily stop a rule from producing events. The rule remains disabled until it is reactivated by calling ruleenable.

Example 1: Disable rule with id 123
/epe/eve/ruledisable?ruleid=123

Role Required: poweruser
Call Counter: Total: 0, Failed: 0

ruleid (required) - [long] rule id
/epe/eve/ruleenable    POST version Input: Output:
Description: Reactivate a rule that has been disabled.

Example 1: Enable rule with id 123
/epe/eve/ruleenable?ruleid=123

Role Required: poweruser
Call Counter: Total: 0, Failed: 0

ruleid (required) - [long] rule id
/epe/eve/rulelist    POST version Input: Output:
Description: Lists all event stream rules. Shows less details than rulebrowse.

Note that deleted rules are not generally shown, but only if explicitly queried by "status=deleted".

Example 1: List all rules
/epe/eve/rulelist

Example 2: View rule with id 123
/epe/eve/rulelist?ruleid=123

Example 3: List all user-defined rules
/epe/eve/rulelist?class=user

Example 4: List all disabled rules
/epe/eve/rulelist?status=disabled

Example 5: List active system rules
/epe/eve/rulelist?class=system&status=active

Role Required: viewer
Call Counter: Total: 0, Failed: 0

ruleid (optional) - [long] rule id to show a single rule
class (optional) - [String] list rules in a specific class ("system" or "user")
label (optional) - [String] list rules with the given label
status (optional) - [String] list rules with the specified status, "active", "disabled" or "deleted"
RULE.ruleid - [long] rule id
RULE.name - [String] rule name
RULE.description - [String] rule description
RULE.createdon - [String] creation time of the rule
RULE.modifiedon - [String] last modification time of the rule
RULE.ruleclass - [String] one of two strings: "SYSTEM" for built-in system rules and "USER" for user-defined rules
RULE.status - [String] "ACTIVE", "DISABLED" or "DELETED"
RULE.label - [String] Label, if the rule has been given one at its creation
/epe/eve/rulepurge    POST version Input: Output:
Description: Completely deletes the rule with the specified id. Also the event history generated by the rule is permanently erased. The rule must be deleted by ruledete before it can be purged.

Example 1: Purge rule with id 123
/epe/eve/rulepurge?ruleid=123

Role Required: poweruser
Call Counter: Total: 0, Failed: 0

ruleid (required) - [long] rule id
/epe/eve/_clear Input: Output:
Description: SPECIAL. Resets all service specific counters.

Role Required: poweruser
Call Counter: Total: 0, Failed: 0

/epe/eve/_list    POST version Input: Output:
Description: SPECIAL. Lists the available commands, their arguments, responses, required roles, call counters and optional help descriptions.

Role Required:
Call Counter: Total: 1, Failed: 0

help (optional) - [int] set to 1 to get also HTML help description of the commands. Default is 0.
COMMAND.name - [String] command name
COMMAND.arg - [String] mandatory argument
COMMAND.optarg - [String] optional argument
COMMAND.response - [String] response field
COMMAND.internal - [int] 1 for internal command
COMMAND.role - [String] required role
COMMAND.callcount - [int] number of calls
COMMAND.callcountinternal - [int] number of internal calls
COMMAND.callcountfailure - [int] number of failed calls
COMMAND.htmlhelp - [String] command description in HTML format
/epe/eve/_status Input: Output:
Description: SPECIAL. Returns status information about the service.

Role Required: viewer
Call Counter: Total: 0, Failed: 0

STATUS.callcount - [int] total number of calls for the service
STATUS.callcountinternal - [int] total number of internal calls for the service
STATUS.callcountfailure - [int] total number of failed calls for the service
STATUS.commandcount - [int] number of commands in service
STATUS.* - [String] service specific status information

(The data in this page was generated from /epe/eve/_list?help=1)